本篇要介紹的是有關日期資訊取得的Step:[Input]Get System Info,另外要介紹Step:[Flow]Filter rows來輔助資料分類的動作。
取得系統資訊,例如日期或參數
使用簡單的條件式來過濾資料,可使用上一個Step中的欄位來進行條件式的設定,可以選擇以欄位值或是以指定的輸入值做比對。
延續上一篇的例子,將更新項目的更新時間欄位寫入今日的日期,新增項目的新增欄位寫入今日的日期,由於Northwind資料庫的Shippers沒有新增與更新日期的欄位,所以需要自行增加CreateTime與UpdateTime欄位喔!
然後補上日期資訊
新增Get System Info並建立Hop,兩點下進行設定,請輸入名稱與類型
類型的部分,提供了許多有關於Kettle執行環境的參數讓我們選取,大多都是有關於日期的部分,本篇請選擇system date (variable)
預覽設定的結果,成功取得日期參數
新增Filter rows並建立Hop,點兩下進行設定,在這邊我們要來設定過濾的條件,要先把新增的資料與更新的資料區分開來,這樣才能判斷在執行Insert / Update時,要更新的是CreateTime還是UpdateTime;判斷是否為新增資料與更新資料的關鍵,就是ID欄位,所以我們要把ID=null的資料過濾出來
新增兩個Insert/Update,一個用來做資料的新增,另一個是拿來做資料的更新,在建立Hop時要特別留意一下,記得選對true與false的流向,我們要把ID=null的資料傳到"新增資料"的Step,把ID!=null的資料傳到"更新資料"的Step
設定方式可以參考前一篇,以下的設定差別在於Don't perform any updates有勾選,因為此Step我們只希望它執行Insert的動作,所以勾選Don't perform any updates,以及將today欄位值指定給CreateTime欄位
將today欄位值指定給UpdateTime欄位
完成3筆資料的電話欄位更新,並且記錄了資料更新的時間,另外新增了3筆的資料,一樣也有紀錄新增的時間
到本篇為止,想必大家應該對Transformation的設定都很熟悉了吧!接下來將會進一步的針對Job的部分來做介紹囉!